Lectura del dataset y su estructura
# leo el archivo ar_properties
library(readr) # libreria con la funcion read_csv
datos1a <- read_csv("ar_properties.csv") # Acá completen con su propio PATH al archivo
[36m──[39m [1m[1mColumn specification[1m[22m [36m───────────────────────────────────────────────────────────────────────[39m
cols(
.default = col_character(),
start_date = [34mcol_date(format = "")[39m,
end_date = [34mcol_date(format = "")[39m,
created_on = [34mcol_date(format = "")[39m,
lat = [32mcol_double()[39m,
lon = [32mcol_double()[39m,
l6 = [33mcol_logical()[39m,
rooms = [32mcol_double()[39m,
bedrooms = [32mcol_double()[39m,
bathrooms = [32mcol_double()[39m,
surface_total = [32mcol_double()[39m,
surface_covered = [32mcol_double()[39m,
price = [32mcol_double()[39m
)
[36mℹ[39m Use [38;5;251m[48;5;235m[38;5;251m[48;5;235m`spec()`[48;5;235m[38;5;251m[49m[39m for the full column specifications.
datos1a # veo la base
Aplicando filtros
Se seleccionan aquellos registros que pertenecen a Argentina y Capital Federal, cuyo precio esta en dolares (USD), el tipo de propiedad corresponde a Departamento y el tipo de operacion sea Venta.
library(tidyverse) # carga varios paquetes: dplyr, ggplot2, purr, rtingr, etc.
Registered S3 methods overwritten by 'dbplyr':
method from
print.tbl_lazy
print.tbl_sql
[37m── [1mAttaching packages[22m ────────────────────────────────────────────────────── tidyverse 1.3.0 ──[39m
[37m[32m✓[37m [34mggplot2[37m 3.3.3 [32m✓[37m [34mdplyr [37m 1.0.6
[32m✓[37m [34mtibble [37m 3.1.2 [32m✓[37m [34mstringr[37m 1.4.0
[32m✓[37m [34mtidyr [37m 1.1.3 [32m✓[37m [34mforcats[37m 0.5.1
[32m✓[37m [34mpurrr [37m 0.3.4 [39m
[37m── [1mConflicts[22m ───────────────────────────────────────────────────────── tidyverse_conflicts() ──
[31mx[37m [34mdplyr[37m::[32mfilter()[37m masks [34mstats[37m::filter()
[31mx[37m [34mdplyr[37m::[32mlag()[37m masks [34mstats[37m::lag()[39m
datos1b <- datos1a %>%
# Me quedo con los que pertenecen a Argentina y Capital Federal
filter(l1 == "Argentina",
l2 == "Capital Federal",
# cuyo precio este en dolares
currency == "USD",
# propiedad tipo Departamento
property_type %in% c("Departamento"),
# operaciones de venta
operation_type == "Venta") %>% select(id,l3,surface_covered,price,lat,lon,rooms,bathrooms,bedrooms) %>% na.omit() %>% mutate(precio=price,barrio=l3,sup=surface_covered,pm2=precio/sup,rooms,bathrooms,bedrooms) %>% na.omit()
# chequeo si el filtro se refleja correctamente en mi nuevo dataset datos1b
datos1b
attach(datos1b) # pongo las variables en memoria
Cargo las librerias basicas para trabajar con datos espaciales
library(terra)
library(sf)
library("leaflet")
Datos Vectoriales
Cargo depto como Puntos

cargo calles de CABA
plot(calles.comp)
plotting the first 10 out of 29 attributes; use max.plot = 29 to plot all

Carga de Barrios CABA

Carga de Comunas CABA

Grafico de deptos, comunas y barrios
Que depto esta en que barrio: puntos en poligonos
barrios_con_deptos
Simple feature collection with 48 features and 2 fields
Geometry type: POLYGON
Dimension: XY
Bounding box: xmin: -58.53152 ymin: -34.70529 xmax: -58.33515 ymax: -34.52649
CRS: 4326
First 10 features:
BARRIO n geometry
1 CHACARITA 359 POLYGON ((-58.45282 -34.595...
2 PATERNAL 164 POLYGON ((-58.46558 -34.596...
3 VILLA CRESPO 2190 POLYGON ((-58.42375 -34.597...
4 VILLA DEL PARQUE 260 POLYGON ((-58.49461 -34.614...
5 ALMAGRO 2707 POLYGON ((-58.41287 -34.614...
6 CABALLITO 1966 POLYGON ((-58.43061 -34.607...
7 VILLA SANTA RITA 180 POLYGON ((-58.48192 -34.624...
8 MONTE CASTRO 188 POLYGON ((-58.50349 -34.624...
9 VILLA REAL 33 POLYGON ((-58.52512 -34.614...
10 FLORES 712 POLYGON ((-58.46041 -34.656...
grafico
require(tmap)
tmap_mode("view")
tmap mode set to interactive viewing
tm_shape(barrios_con_deptos) +
tm_fill(
col = "n",
palette = "Greens",
style = "cont",
contrast = c(0.1, 1),
title = "Deptos por Barrio",
id = "boro_ct2010",
showNA = FALSE,
alpha = 0.8) +
tm_borders(col = "darkgray", lwd = 0.7)
LS0tCnRpdGxlOiAiRXN0YWRpc3RpY2EgRXNwYWNpYWwgQXBsaWNhZGEiCmF1dGhvcjogIkFuZHJlcyBGYXJhbGwiCmRhdGU6ICIxOCBkZSBBZ29zdG8gZGUgMjAyMSIKb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6CiAgICBkZl9wcmludDogcGFnZWQKICAgIHRvYzogeWVzCiAgaHRtbF9ub3RlYm9vazoKICAgIHRoZW1lOiBsdW1lbgogICAgdG9jOiB5ZXMKICAgIHRvY19mbG9hdDogeWVzCnN1YnRpdGxlOiBFamVtcGxpZmljYWNpb24gY29uIGxhIGJhc2UgZGUgUHJvcGVyYXRpCi0tLQoKCgojIyMgIExlY3R1cmEgZGVsIGRhdGFzZXQgeSBzdSBlc3RydWN0dXJhCgpgYGB7cn0KIyBsZW8gZWwgYXJjaGl2byBhcl9wcm9wZXJ0aWVzIApsaWJyYXJ5KHJlYWRyKSAjIGxpYnJlcmlhIGNvbiBsYSBmdW5jaW9uIHJlYWRfY3N2CmRhdG9zMWEgPC0gcmVhZF9jc3YoImFyX3Byb3BlcnRpZXMuY3N2IikgIyBBY8OhIGNvbXBsZXRlbiBjb24gc3UgcHJvcGlvIFBBVEggYWwgYXJjaGl2bwpkYXRvczFhICMgdmVvIGxhIGJhc2UKYGBgCgojIyMgQXBsaWNhbmRvIGZpbHRyb3MKClNlIHNlbGVjY2lvbmFuIGFxdWVsbG9zIHJlZ2lzdHJvcyBxdWUgcGVydGVuZWNlbiBhIEFyZ2VudGluYSB5IENhcGl0YWwgRmVkZXJhbCwgY3V5byBwcmVjaW8gZXN0YSBlbiBkb2xhcmVzIChVU0QpLCBlbCB0aXBvIGRlIHByb3BpZWRhZCBjb3JyZXNwb25kZSBhIERlcGFydGFtZW50byB5IGVsIHRpcG8gZGUgb3BlcmFjaW9uIHNlYSBWZW50YS4gCgpgYGB7cn0KbGlicmFyeSh0aWR5dmVyc2UpICMgY2FyZ2EgdmFyaW9zIHBhcXVldGVzOiBkcGx5ciwgZ2dwbG90MiwgcHVyciwgcnRpbmdyLCBldGMuCmRhdG9zMWIgPC0gZGF0b3MxYSAlPiUgCiAgICAgICAgICAgICAgICAgICAjIE1lIHF1ZWRvIGNvbiBsb3MgcXVlIHBlcnRlbmVjZW4gYSBBcmdlbnRpbmEgeSBDYXBpdGFsIEZlZGVyYWwKICAgICAgICAgICAgZmlsdGVyKGwxID09ICJBcmdlbnRpbmEiLCAKICAgICAgICAgICAgICAgICAgIGwyID09ICJDYXBpdGFsIEZlZGVyYWwiLCAKICAgICAgICAgICAgICAgICAgICMgY3V5byBwcmVjaW8gZXN0ZSBlbiBkb2xhcmVzIAogICAgICAgICAgICAgICAgICAgY3VycmVuY3kgPT0gIlVTRCIsIAogICAgICAgICAgICAgICAgICAgIyBwcm9waWVkYWQgdGlwbyBEZXBhcnRhbWVudG8KICAgICAgICAgICAgICAgICAgIHByb3BlcnR5X3R5cGUgJWluJSBjKCJEZXBhcnRhbWVudG8iKSwKICAgICAgICAgICAgICAgICAgICMgb3BlcmFjaW9uZXMgZGUgdmVudGEKICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbl90eXBlID09ICJWZW50YSIpICU+JSBzZWxlY3QoaWQsbDMsc3VyZmFjZV9jb3ZlcmVkLHByaWNlLGxhdCxsb24scm9vbXMsYmF0aHJvb21zLGJlZHJvb21zKSAlPiUgbmEub21pdCgpICU+JSBtdXRhdGUocHJlY2lvPXByaWNlLGJhcnJpbz1sMyxzdXA9c3VyZmFjZV9jb3ZlcmVkLHBtMj1wcmVjaW8vc3VwLHJvb21zLGJhdGhyb29tcyxiZWRyb29tcykgJT4lIG5hLm9taXQoKQojIGNoZXF1ZW8gc2kgZWwgZmlsdHJvIHNlIHJlZmxlamEgY29ycmVjdGFtZW50ZSBlbiBtaSBudWV2byBkYXRhc2V0IGRhdG9zMWIKZGF0b3MxYiAKYXR0YWNoKGRhdG9zMWIpICMgcG9uZ28gbGFzIHZhcmlhYmxlcyBlbiBtZW1vcmlhCmBgYAoKQ2FyZ28gbGFzIGxpYnJlcmlhcyBiYXNpY2FzIHBhcmEgdHJhYmFqYXIgY29uIGRhdG9zIGVzcGFjaWFsZXMKCmBgYHtyfQpsaWJyYXJ5KHRlcnJhKQpsaWJyYXJ5KHNmKQpsaWJyYXJ5KCJsZWFmbGV0IikKYGBgCgojIyMgRGF0b3MgVmVjdG9yaWFsZXMKCiMjIENhcmdvIGRlcHRvIGNvbW8gUHVudG9zCgpgYGB7cn0KbG9ubGF0IDwtIGNiaW5kKGRhdG9zMWIkbG9uLCBkYXRvczFiJGxhdCkKZGYgPC0gZGF0YS5mcmFtZShJRD1kYXRvczFiJGlkLCBkYXRvczFiJHN1cCkKY3JkcmVmIDwtICIrcHJvaj1sb25nbGF0ICtkYXR1bT1XR1M4NCIKZGVwdG9zIDwtIHZlY3QobG9ubGF0LCBhdHRzPWRmLCBjcnM9Y3JkcmVmKSAjIHdpdGggdGVycmEKZGVwdG9zLnNmIDwtIHNmOjpzdF9hc19zZihwdHMpICMgY29udmVyc2lvbiB0byBzZgojcGxvdChwdHMpCnBsb3QoZGVwdG9zLnNmKQpsZWFmbGV0KGRlcHRvcy5zZikgJT4lIGFkZFRpbGVzKCkgJT4lIGFkZENpcmNsZU1hcmtlcnMocmFkaXVzPTAuMikKCmBgYAoKIyMgY2FyZ28gY2FsbGVzIGRlIENBQkEKCgpgYGB7cn0KY2FsbGVzLmNvbXAgPC0gc3RfcmVhZCgiL2hvbWUvYW5kcmVzZmFyYWwvRHJvcGJveC9Fc3RhZGlzdGljYSBFc3BhY2lhbC9jYWxsZWplcm8vIikKY2FsbGVzLmNvbXAKcGxvdChjYWxsZXMuY29tcCkKYmFycmlvcyRnZW9tZXRyeQpjbGFzcyhiYXJyaW9zKQpwbG90KGJhcnJpb3NbMTo1LF0pCnByaW50KGJhcnJpb3MuY29tcCwgbiA9IDMpCmBgYAoKIyMgQ2FyZ2EgZGUgQmFycmlvcyBDQUJBCgpgYGB7cn0KYmFycmlvcy5jb21wIDwtIHN0X3JlYWQoIi9ob21lL2FuZHJlc2ZhcmFsL0Ryb3Bib3gvRXN0YWRpc3RpY2EgRXNwYWNpYWwvYmFycmlvcy8iKQpiYXJyaW9zLmNvbXAKYmFycmlvczwtYmFycmlvcy5jb21wWzFdCmJhcnJpb3MKYmFycmlvcyRnZW9tZXRyeQpjbGFzcyhiYXJyaW9zKQpwbG90KGJhcnJpb3NbMTo1LF0pCnByaW50KGJhcnJpb3MuY29tcCwgbiA9IDMpCmBgYAoKIyMgQ2FyZ2EgZGUgQ29tdW5hcyBDQUJBCgpgYGB7cn0KY29tdW5hcy5jb21wIDwtIHN0X3JlYWQoIi9ob21lL2FuZHJlc2ZhcmFsL0Ryb3Bib3gvRXN0YWRpc3RpY2EgRXNwYWNpYWwvY29tdW5hcy8iKQpjb211bmFzLmNvbXAKcGxvdChjb211bmFzLmNvbXApCmNvbXVuYXM8LWNvbXVuYXMuY29tcFsxXQpwbG90KGNvbXVuYXMpCgpgYGAKCkdyYWZpY28gZGUgZGVwdG9zLCBjb211bmFzIHkgYmFycmlvcwoKYGBge3J9CiMgZGVwdG9zIHkgYmFycmlvcwpsZWFmbGV0KGRlcHRvcy5zZikgJT4lIGFkZFRpbGVzKCkgJT4lIGFkZENpcmNsZU1hcmtlcnMocmFkaXVzPTAuMikgJT4lIGFkZFBvbHlnb25zKGRhdGE9YmFycmlvcyxjb2xvciA9ICJncmVlbiIpCiMgYWdyZWdvIGNvbXVuYXMKbGVhZmxldChkZXB0b3Muc2YpICU+JSBhZGRUaWxlcygpICU+JSBhZGRDaXJjbGVNYXJrZXJzKHJhZGl1cz0wLjIpICU+JSBhZGRQb2x5Z29ucyhkYXRhPWJhcnJpb3MsY29sb3IgPSAiZ3JlZW4iKSAlPiUgYWRkUG9seWdvbnMoZGF0YT1jb211bmFzLGNvbG9yID0gInJlZCIpCgpgYGAKClF1ZSBkZXB0byBlc3RhIGVuIHF1ZSBiYXJyaW86IHB1bnRvcyBlbiBwb2xpZ29ub3MKCmBgYHtyfQpkZXB0b3NfaW5fYmFycmlvcyA8LSBzdF9qb2luKGRlcHRvcy5zZiwgYmFycmlvcywgam9pbiA9IHN0X3dpdGhpbikKZGVwdG9zX2luX2JhcnJpb3MKZGVwdG9zX2JhcnJpb3NfY291bnQgPC0gY291bnQoYXNfdGliYmxlKGRlcHRvc19pbl9iYXJyaW9zKSwgQkFSUklPKQpkZXB0b3NfYmFycmlvc19jb3VudApiYXJyaW9zX2Nvbl9kZXB0b3MgPC0gbGVmdF9qb2luKGJhcnJpb3MsIGRlcHRvc19iYXJyaW9zX2NvdW50KQpiYXJyaW9zX2Nvbl9kZXB0b3MKYGBgCgpncmFmaWNvCgpgYGB7cn0KcmVxdWlyZSh0bWFwKQp0bWFwX21vZGUoInZpZXciKQp0bV9zaGFwZShiYXJyaW9zX2Nvbl9kZXB0b3MpICsKICB0bV9maWxsKAogICAgY29sID0gIm4iLAogICAgcGFsZXR0ZSA9ICJHcmVlbnMiLAogICAgc3R5bGUgPSAiY29udCIsCiAgICBjb250cmFzdCA9IGMoMC4xLCAxKSwKICAgIHRpdGxlID0gIkRlcHRvcyBwb3IgQmFycmlvIiwKICAgIGlkID0gImJvcm9fY3QyMDEwIiwKICAgIHNob3dOQSA9IEZBTFNFLAogICAgYWxwaGEgPSAwLjgpICsKICB0bV9ib3JkZXJzKGNvbCA9ICJkYXJrZ3JheSIsIGx3ZCA9IDAuNykKYGBgCgo=